AbstractDiff.java
package org.codefilarete.stalactite.engine.diff;
/**
* Abstract contract for a change of place in a {@link java.util.Collection}.
*
* @author Guillaume Mary
* @see Diff
* @see IndexedDiff
*/
public class AbstractDiff<C> {
private final C sourceInstance;
private final C replacingInstance;
private final State state;
/**
* Minimal constructor.
*
* @param state the kind of difference
* @param sourceInstance initial instance
* @param replacingInstance replacing instance (may differ from source on attributes except id)
*/
public AbstractDiff(State state, C sourceInstance, C replacingInstance) {
this.state = state;
this.sourceInstance = sourceInstance;
this.replacingInstance = replacingInstance;
}
public C getSourceInstance() {
return sourceInstance;
}
public C getReplacingInstance() {
return replacingInstance;
}
public State getState() {
return state;
}
}